package org.topofalps.vocabularyTutor;
import com.google.appengine.api.users.User;

/**
 * The dictionary to look up word definitions.
 * an implmentation should use singleton pattern and lazy instantiation if it loads physical dictionary file
 * 
 * @author Muye Yang
 * @version 0.1
 */
public interface Dictionary {
	/**
	 * gets the singleton dictionary
	 * @return the dictioanary
	 */
	public Dictionary getInstance();
	
	/**
	 * create a word object given its string form.
	 * @param word: the word in string form
	 * @param user: the user who queried this word
	 * @return the word with all the related informations
	 */
	public Word lookUpWord(String word, User user);
	
}
